package com.un.ebs.sys.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.un.ebs.sys.domain.DictionaryValue;
import com.un.ebs.sys.domain.DictionaryValueExt;
import com.un.ebs.sys.dto.DictionaryValueAddDto;
import com.un.ebs.sys.dto.DictionaryValueUpdateDto;
import com.un.ebs.sys.dto.ObjectParentAndIndexChangeDto;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author liubo
 * @since 2019-09-25
 */
public interface DictionaryValueService {

    void add(DictionaryValueAddDto req);

    void add(String key, String value, String desc);

    void update(DictionaryValueUpdateDto req);

    DictionaryValue queryById(String id);

    void delete(String id);

    void changeNode(List<ObjectParentAndIndexChangeDto> nodes);

    List<DictionaryValue> queryByParentId(String parentId);

    IPage<DictionaryValue> queryPageByParentId(String parentId, int pageSize, int pageIndex);

    List<DictionaryValueExt> queryValueByKey(String key);

    String queryValue(String dictKey, String valueCode);

    /**
     * 查询已经删除的字典值的ID集合
     *
     * @return
     */
    List<String> queryDeletesByKey();

    boolean hasValue(String key, String value, String valueDesc, boolean isCreate);

}
